package mysql

import (
	"database/sql"
	"fmt"
	"time"
)

// 检查数据库连接状态，若失败则重连
func Check(db *sql.DB) {
	flag := true // 判断是否重连成功的标志
	for flag {
		func() {
			defer recover()
			if err := db.Ping(); err != nil { // 判断是否连接到数据库
				fmt.Printf("connect to db failed,err:%v\n", err)
				newDB := New()
				if newDB != nil {
					db = newDB
				}
			} else {
				fmt.Println("重连成功")
				flag = false
			}
		}()
		time.Sleep(time.Minute)
	}
}
